Операторы и выражения
Выражения
Оба операнда приводятся к одинаковому типу:
byte, char, short -> int -> long -> float -> double
byte b = 2;
byte c = 3;
byte d = b + c; // ошибка, так как оба привелись в int, а в итоге идет неявное сужение
float f = 4.0 * 15; // ошибка, double -> float
Приоритет операций
Отдельно про конкатенацию строк
Дополнительно Форматированный вывод